home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / os2 / memsz313.zip / SOURCE.ZIP / PROFILE.H < prev    next >
Text File  |  1996-04-01  |  3KB  |  133 lines

  1. /****************************************************************** PROFILE.H
  2.  *                                                                          *
  3.  *                      Profile Object definitions                          *
  4.  *                                                                          *
  5.  ****************************************************************************/
  6.  
  7. #ifndef PROFILE_H
  8. #define PROFILE_H
  9.  
  10. #include "Items.h"
  11. #include "ReString.h"
  12.  
  13. class Profile {
  14.  
  15.    private:
  16.       HINI   Handle ;               // INI file handle.
  17.       PSZ    Name ;                 // Application Name.
  18.  
  19.    public:
  20.       Profile ( PSZ Name, HAB Anchor, HMODULE Library,
  21.          int DialogID, HWND HelpWindow, BOOL ResetFlag ) ;
  22.  
  23.       ~Profile ( ) ;
  24.  
  25.       HINI QueryHandle ( ) { return ( Handle ) ; }
  26.  
  27.       PSZ QueryName ( ) { return ( Name ) ; }
  28.  
  29.       VOID Reset ( ) {
  30.          PrfWriteProfileData ( Handle, Name, 0, 0, 0 ) ;
  31.       }
  32. } ;
  33.  
  34. #define MAX_DRIVES        (26)
  35.  
  36. enum {
  37.    ITEM_CLOCK,
  38.    ITEM_ELAPSEDTIME,
  39.    ITEM_MEMORYFREE,
  40.    ITEM_VIRTUALFREE,
  41.    ITEM_SWAPFILESIZE,
  42.    ITEM_SWAPDISKFREE,
  43.    ITEM_SWAPFILESLACK,
  44.    ITEM_SPOOLFILESIZE,
  45.    ITEM_CPULOAD,
  46.    ITEM_TASKCOUNT,
  47.    ITEM_PROCESSCOUNT,
  48.    ITEM_THREADCOUNT,
  49.    ITEM_TOTALFREE,
  50.    ITEM_BASE_COUNT
  51. } ;
  52.  
  53. typedef struct {
  54.    Item *pItem ;
  55.    BOOL  fLabel ;
  56.    char  Label [80] ;
  57. } ITEM, *PITEM ;
  58.  
  59. typedef struct {      // Parameters saved to system.
  60.  
  61.    // The Display Item List - - -
  62.    USHORT ItemCount ;
  63.    ITEM Items [ ITEM_BASE_COUNT + MAX_DRIVES ] ;
  64.  
  65.    // Data required for the display item objects to function.
  66.    ULONG           MemoryFree ;
  67.    time_t          MemoryTime ;
  68.    ULONG           IdleCount ;
  69.    ULONG           MaxCount ;
  70.    BYTE            SwapPath [_MAX_PATH] ;
  71.    ULONG           MinFree ;
  72.    PBYTE           SpoolPath ;
  73.    int             idCountry ;
  74.    COUNTRYINFO     CountryInfo ;
  75.    char            szAm [8] ;
  76.    char            szPm [8] ;
  77.    ResourceString *Day ;
  78.    ResourceString *Days ;
  79.    ResourceString *DaysOfWeek ;
  80.    ResourceString *DriveError ;
  81.  
  82.    // Window size and location
  83.    SWP    Position ;
  84.    BOOL   fPosition ;
  85.  
  86.    // User Options
  87.    BOOL   HideControls ;
  88.    BOOL   fHideControls ;
  89.  
  90.    BOOL   Float ;
  91.    BOOL   fFloat ;
  92.  
  93.    BOOL   Animate ;
  94.    BOOL   fAnimate ;
  95.  
  96.    BOOL   ShowFileSystemNames ;
  97.    BOOL   fShowFileSystemNames ;
  98.  
  99.    BOOL   ShowDiskLabels ;
  100.    BOOL   fShowDiskLabels ;
  101.  
  102.    BOOL   ShowSeconds ;
  103.    BOOL   fShowSeconds ;
  104.  
  105.    USHORT ShowK ;
  106.    BOOL   fShowK ;
  107.  
  108.    BYTE   MonitorPriority ;
  109.    BOOL   fMonitorPriority ;
  110.  
  111.    USHORT TimerInterval ;
  112.    BOOL   fTimerInterval ;
  113.  
  114.    USHORT AnchorCorner ;
  115.    BOOL   fAnchorCorner ;
  116.  
  117.    // Presentation Parameters
  118.    BYTE   FontNameSize [80] ;
  119.    BOOL   fFontNameSize ;
  120.  
  121.    COLOR  BackColor ;
  122.    BOOL   fBackColor ;
  123.  
  124.    COLOR  TextColor ;
  125.    BOOL   fTextColor ;
  126.  
  127. } INIDATA, *PINIDATA ;
  128.  
  129. extern int GetIniData ( HINI IniHandle, PINIDATA IniData ) ;
  130. extern void PutIniData ( HINI IniHandle, PINIDATA IniData ) ;
  131.  
  132. #endif
  133.